<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>el与data的两种写法</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>

    <!-- 
            data与el的2种写法
            1.el有2种写法
                            (1).new Vue时候配置el属性。
                            (2).先创建Vue实例，随后再通过vm.$mount('#root')指定el的值。
            2.data有2种写法
                            (1).对象式
                            (2).函数式
                            如何选择：目前哪种写法都可以，以后学习到组件时，data必须使用函数式，否则会报错。
            3.一个重要的原则：
                            由Vue管理的函数，一定不要写箭头函数，一旦写了箭头函数，this就不再是Vue实例了。
        -->
    <!-- 准备一个容器 -->
    <div id="root">
        <h1>{{name}}</h1>
    </div>
    <script type="text/javascript">
        Vue.config.productionTip = false // 设置为 false 以阻止 vue 在启动时生成生产提示。
        // 创建Vue实例
        const x = new Vue({
            // el:document.getElementById('root') // 笨重，不推荐使用
            // el:'#root', // el用于指定当前vue实例为哪个容器服务，值通常为css选择器字符串
            // data:{      // data中用于存储数据，数据供el所指定的容器使用，值我们暂时先写成一个对象，到组件的时候会写成函数
            //     name:"whs"
            // }
            data() {
                console.log('@@@',this) //此处的this是vue实例对象，data方法，不可以写成箭头函数，箭头函数没有this
                return {
                    name:'王宏盛'
                }
            },
        })
        // setTimeout(()=>{
        //     x.$mount('#root') // 更灵活
        // },2000)
        x.$mount('#root') // 更灵活
        
    </script>
</body>
</html>